It is desirable to complete development projects on time and within the budget allocated to complete the projects. Accurately estimating the level of effort (LOE), or man-hours, needed to complete the project contributes towards realistic project scheduling and project budgeting. Without an accurate LOE estimate for the project, for example, too few developers may be applied to the project and the project may be delivered late and/or over budget.
Various methods of estimating the LOE needed to complete a project have been employed with varying degrees of success. Function point analysis involves identifying and counting functionalities or function points to be delivered by a project based on a requirements document or other statement of deliverable functionality. The more function points to be delivered, the greater the LOE needed to complete the project.
Enterprises may choose to contract with independent providers to develop software functionality, a practice commonly termed outsourcing. It is desirable to measure the productivity of the outsourcing activities and to scrutinize outsourcing bids.